/***************************************************************************
 创建者: 华磊
 开始时间: 2019.11.23
 copyright: (C) 华友高科
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) hualei 2017.5.8 类的具体实现代码编写

 ***************************************************************************
 *  @file x.h
 *  功能:
 *
 *                                                                         *
 ***************************************************************************/
#ifndef JOYSTICKVIEW_H
#define JOYSTICKVIEW_H

#include <QDialog>
#include <QWidget>
#include <QLabel>

namespace Ui {
class JoyStickView;
}



class JoyStickView : public QDialog
{
    Q_OBJECT

public:
    explicit JoyStickView(QWidget *parent = 0);
    ~JoyStickView();


//    int initialJoyStickDevice(bool isUseThisFunction);





public:
    bool isJogOn();

public slots:
    void showView_slot(bool isShow);
    void update();
    void setAxesValues(QString contStr,QString index_axes,QString coordinates_x,QString coordinates_y);
    void setButtonState(QString contStr,QString index,QString state);

signals:
//    void clearMsgAndServoOn_signal();
//    void speedUp_signal();
//    void speedDown_signal();
//    void lInstruction();
//    void modeChange_signal();
//    void setJointCoordinate_signal();
//    void startOrStop_signal();
//    /**
//     * @brief button_1P_pressedSignal       1-6轴正向按钮按压时发射信号函数
//     */
//    void button_1P_pressedSignal();
//    void button_2P_pressedSignal();
//    void button_3P_pressedSignal();
//    void button_4P_pressedSignal();
//    void button_5P_pressedSignal();
//    void button_6P_pressedSignal();
//    /**
//     * @brief button_1N_pressedSignal       1-6轴负向按钮按压时发射信号函数
//     */
//    void button_1N_pressedSignal();
//    void button_2N_pressedSignal();
//    void button_3N_pressedSignal();
//    void button_4N_pressedSignal();
//    void button_5N_pressedSignal();
//    void button_6N_pressedSignal();

//    void button_releasedSignal();    //1-6轴运动按钮释放时发射信号函数

private slots:
    void on_button_clrMsgAndServoOn_clicked();
    void on_button_speedUp_clicked();
    void on_button_speedDown_clicked();
    void on_button_newOrder_clicked();
    void on_button_modeChange_clicked();
    void on_button_setJointCoordinate_clicked();
    void on_button_startOrStop_clicked();
    /**
     * @brief on_button_1P_pressed        1-6轴正向按钮按压时响应槽函数
     */
    void on_button_1P_pressed();
    void on_button_2P_pressed();
    void on_button_3P_pressed();
    void on_button_4P_pressed();
    void on_button_5P_pressed();
    void on_button_6P_pressed();
    /**
     * @brief on_button_1P_released        1-6轴正向按钮释放时响应槽函数
     */
    void on_button_1P_released();
    void on_button_2P_released();
    void on_button_3P_released();
    void on_button_4P_released();
    void on_button_5P_released();
    void on_button_6P_released();
    /**
     * @brief on_button_1N_pressed        1-6轴负向按钮按压时响应槽函数
     */
    void on_button_1N_pressed();
    void on_button_2N_pressed();
    void on_button_3N_pressed();
    void on_button_4N_pressed();
    void on_button_5N_pressed();
    void on_button_6N_pressed();
    /**
     * @brief on_button_1N_released        1-6轴负向按钮释放时响应槽函数
     */
    void on_button_1N_released();
    void on_button_2N_released();
    void on_button_3N_released();
    void on_button_4N_released();
    void on_button_5N_released();
    void on_button_6N_released();


private:
    Ui::JoyStickView *ui;

//    int fd, rc;
//    int op_times;
//    char number_of_axes;
//    char number_of_btns;
//    char js_name_str[128];
//    unsigned int buttons_state;
//    AXES_T* tp_axes ;
//    int i, print_init_stat;

//    struct js_event jse;
    bool isJogOnStatus;//代表手动按下状态
//    QTimer *timer;
};

#endif // JOYSTICKVIEW_H
